Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
JSDoc is a documentation generator for JavaScript. It parses comments in your source code with JSDoc tags and generates an HTML documentation website.
Generating API documentation
This code sample shows how to use JSDoc comments to document a constructor function for a book. When JSDoc processes this, it will generate documentation for the Book function, including its parameters and their types.
/**
* Represents a book.
* @constructor
* @param {string} title - The title of the book.
* @param {string} author - The author of the book.
*/
function Book(title, author) {
this.title = title;
this.author = author;
}
Documenting a class and its methods
This code sample demonstrates how to document a class and its constructor, as well as a method within the class. JSDoc will generate documentation for the Point class, its constructor, and the getDistanceTo method, including parameter and return types.
/**
* Class representing a point.
*/
class Point {
/**
* Create a point.
* @param {number} x - The x value.
* @param {number} y - The y value.
*/
constructor(x, y) {
this.x = x;
this.y = y;
}
/**
* Get the distance from this point to another point.
* @param {Point} point - The point to get the distance to.
* @returns {number} The distance.
*/
getDistanceTo(point) {
// ... implementation ...
}
}
Documenting module exports
This code sample shows how to document a module and a function that it exports. JSDoc will generate documentation for the module and the exported function, including the function's parameters and return value.
/**
* @module myModule
*/
/**
* A function that does something.
* @param {number} input - The input number.
* @returns {number} The result.
*/
exports.myFunction = function(input) {
// ... implementation ...
};
TypeDoc is a documentation generator that is similar to JSDoc but is specifically designed for TypeScript projects. It reads TypeScript source files and produces API documentation from the comments. Compared to JSDoc, TypeDoc is more suited for TypeScript due to its understanding of TypeScript-specific features.
ESDoc is a good documentation generator for JavaScript (ES6) projects. It focuses on the ECMAScript 2015 (ES6) syntax and has features like coverage reporting, which shows how much of your code is documented. ESDoc also supports plugin architecture, allowing for additional functionality to be added.
An API documentation generator for JavaScript.
Want to contribute to JSDoc? Please read CONTRIBUTING.md
.
JSDoc supports stable versions of Node.js 8.15.0 and later. You can install
JSDoc globally or in your project's node_modules
folder.
To install the latest version on npm globally (might require sudo
;
learn how to fix this):
npm install -g jsdoc
To install the latest version on npm locally and save it in your package's
package.json
file:
npm install --save-dev jsdoc
Note: By default, npm adds your package using the caret operator in front of
the version number (for example, ^3.6.3
). We recommend using the tilde
operator instead (for example, ~3.6.3
), which limits updates to the most
recent patch-level version. See
this Stack Overflow answer for
more information about the caret and tilde operators.
To install the latest development version locally, without updating your
project's package.json
file:
npm install git+https://github.com/jsdoc/jsdoc.git
If you installed JSDoc locally, the JSDoc command-line tool is available in
./node_modules/.bin
. To generate documentation for the file
yourJavaScriptFile.js
:
./node_modules/.bin/jsdoc yourJavaScriptFile.js
If you installed JSDoc globally, run the jsdoc
command:
jsdoc yourJavaScriptFile.js
By default, the generated documentation is saved in a directory named out
. You
can use the --destination
(-d
) option to specify another directory.
Run jsdoc --help
for a complete list of command-line options.
The JSDoc community has created templates and other tools to help you generate and customize your documentation. Here are a few of them:
jsdoc
to
Stack Overflow.JSDoc 3 is copyright (c) 2011-present Michael Mathews micmath@gmail.com and the contributors to JSDoc.
JSDoc 3 is free software, licensed under the Apache License, Version 2.0. See
the file LICENSE.md
in this distribution for more details.
3.6.11 (July 2022)
Updates dependency versions to make JSDoc compatible with Node.js 12.0.0 and later.
FAQs
An API documentation generator for JavaScript.
The npm package jsdoc receives a total of 1,698,224 weekly downloads. As such, jsdoc popularity was classified as popular.
We found that jsdoc demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.